package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 库存每日快照对象 rpt_idv
 * 
 * @author ruoyi
 * @date 2025-06-18
 */
public class RptIdv extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 仓库ID */
    @Excel(name = "仓库ID")
    private Long warehouseId;

    /**  */
    @Excel(name = "")
    private Long productId;

    /** 当前库存 */
    @Excel(name = "当前库存")
    private Long currentStock;

    /** 安全库存 */
    @Excel(name = "安全库存")
    private Long safetyStock;

    /** 成本价 */
    @Excel(name = "成本价")
    private BigDecimal costPrice;

    /**  */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "", width = 30, dateFormat = "yyyy-MM-dd")
    private Date snapshotTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setWarehouseId(Long warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId() 
    {
        return warehouseId;
    }

    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }

    public void setCurrentStock(Long currentStock) 
    {
        this.currentStock = currentStock;
    }

    public Long getCurrentStock() 
    {
        return currentStock;
    }

    public void setSafetyStock(Long safetyStock) 
    {
        this.safetyStock = safetyStock;
    }

    public Long getSafetyStock() 
    {
        return safetyStock;
    }

    public void setCostPrice(BigDecimal costPrice) 
    {
        this.costPrice = costPrice;
    }

    public BigDecimal getCostPrice() 
    {
        return costPrice;
    }

    public void setSnapshotTime(Date snapshotTime) 
    {
        this.snapshotTime = snapshotTime;
    }

    public Date getSnapshotTime() 
    {
        return snapshotTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("warehouseId", getWarehouseId())
            .append("productId", getProductId())
            .append("currentStock", getCurrentStock())
            .append("safetyStock", getSafetyStock())
            .append("costPrice", getCostPrice())
            .append("snapshotTime", getSnapshotTime())
            .toString();
    }
}
